package com.yungu.swift.order.model.vo;

import com.yungu.swift.base.model.BaseVo;
import com.yungu.swift.base.model.annotation.Desensitization;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.util.Date;

/**
 * 描述：通用订单类型（专车，出租车，快车）的订单 <br>
 *
 * @author Zerrion
 * @date 2017/4/13. <br>
 */
@Data
public class AdminGeneralOrderVo extends BaseVo {

    @ApiModelProperty(value = "下单乘客姓名")
    private String pasNickName;

    @ApiModelProperty(value = "下单乘客手机")
    @Desensitization(type = Desensitization.DesensitionType.MOBILE)
    private String pasMobile;

    @ApiModelProperty(value = "实际乘客姓名")
    private String actPasNickName;

    @ApiModelProperty(value = "实际乘客手机")
    @Desensitization(type = Desensitization.DesensitionType.MOBILE)
    private String actPasMobile;

    @ApiModelProperty(value = "司机姓名")
    @Desensitization(type = Desensitization.DesensitionType.NAME)
    private String driName;

    @ApiModelProperty(value = "司机手机")
    @Desensitization(type = Desensitization.DesensitionType.MOBILE)
    private String dirMobile;

    @ApiModelProperty(value = "出发地点")
    private String originAddr;

    @ApiModelProperty(value = "目的地点")
    private String destAddr;

    @ApiModelProperty(value = "订单来源 (1 APP移动端；2 微信公众号；3 电话叫车；4 pc网站)")
    private Integer source;

    @ApiModelProperty(value = "订单评分")
    private Integer score;

    @ApiModelProperty(value = "订单子状态(100.等待应答 200.等待接驾-预约 201.等待接驾-已出发未到达 202.等待接驾-已到达\n" +
            "300.行程开始 400.待支付 500.已完成(待评价) 501.已完成-已评价 600.取消-自主取消\n" +
            "601.取消-后台取消 602.取消-应答前取消)")
    private Integer subStatus;

    @ApiModelProperty(value = "订单行程类型（1：用车，2：日租，3：半日租，4：送机，5：接机）")
    private Integer typeTrip;

    @ApiModelProperty(value = "订单主状态")
    private Integer mainStatus;

    @ApiModelProperty(value = "出发时间")
    private Date deparTime;

    @ApiModelProperty(value = "订单类型（时效性）：1 实时订单， 2 预约订单")
    private Integer typeTime;

    @ApiModelProperty(value = "公司")
    private String company;

    @ApiModelProperty(value = "代理")
    private String agent;

    @ApiModelProperty(value = "订单号")
    private String orderNo;

    @ApiModelProperty(value = "总额")
    private Double totalFare;

    @ApiModelProperty(value = "优惠券抵扣金额")
    private Double couponFare;

    @ApiModelProperty(value = "实付金额")
    private Double actualFare;

    @ApiModelProperty(value = "支付类型")
    private Integer payType;

    @ApiModelProperty(value = "车牌")
    private String plateNum;

    @ApiModelProperty(value = "车型")
    private String modelName;

    @ApiModelProperty(value = "订单模块类型（1：出租车，2：专车，3：拼车，4：快车，5：小件）")
    private Integer typeModule;

    @ApiModelProperty(value = "备注异常")
    private Integer typeAbnormal;

    @ApiModelProperty(value = "订单车型ID")
    private String carModelUuid;

    @ApiModelProperty(value = "外部订单号")
    private String extOrderId;
}
